package com.gwcloud.leetcode.interview100;

import java.util.ArrayList;
import java.util.List;

/** 
* @ClassName   : Leetcode0118 
* @author      : ganwei 
* @date        : 2020年5月26日 
* @Description : 118. 杨辉三角 
*/
public class Leetcode0118 {
	List<List<Integer>> result = new ArrayList<>();
    /**
     * -解题思路，杨辉三角
     */
	public List<List<Integer>> generate(int numRows) {
		//base case
		List<Integer> l1 = new ArrayList<Integer>();
		l1.add(1);
		List<Integer> l2 = new ArrayList<Integer>();
		l2.add(1);
		l2.add(1);
		if(numRows <= 0){
			return result;
		}
		result.add(l1);
		if(numRows == 1){
			return result;
		}
		result.add(l2);
		if(numRows == 2){
			return result;
		}
		
		for(int i = 2; i < numRows; i++) {
			List<Integer> l = new ArrayList<Integer>();
			List<Integer> upl = result.get(i-1);
			l.add(1);
			for(int j = 0; j < upl.size()-1; j++){
				l.add(upl.get(j) + upl.get(j+1));
			}
			l.add(1);
			result.add(l);
		}
		
    	return result;
    }
    
    public static void main(String[] args) {
    	Leetcode0118 l0118 = new Leetcode0118();
    	l0118.generate(5);
    }
}
